package io;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * 通过提高每次读写的数据量  减少实际读写次数可以提高读写效率
 */
public class CopyDemo02 {
    public static void main(String[] args) throws IOException {
        FileInputStream fis = new FileInputStream("idea.zip");
        FileOutputStream fos = new FileOutputStream("idea_cp.zip");

        /*
        InputStream字节输入流的超类上,定义了块读取字节的方法
        int read(byte[] date)
        一次性读取给定字节数组date
         */
        byte[] data = new byte[1024*10];//10kb
        int d;//记录每次实际读取到的数据量

        long start = System.currentTimeMillis();
        while((d=fis.read(data))!=-1){
            fos.write(data,0,d);
        }
        long end = System.currentTimeMillis();
        System.out.println("复制完毕!耗时:"+(end-start)+"ms");
        fis.close();
        fos.close();
    }
}
